package com.xgzit.xgzmall.search.vo;

import lombok.Data;

import java.util.List;

/**
 * 封装页面所有可能传递过来的检索参数
 * <p>
 * 页面传递过来有3个渠道： 搜索框、分类、筛选
 * 1、关键字就是接收搜索框的内容，进行全文检索
 * 2、分类就是商品的3级分类Id
 * 3、最复杂就是筛选条件
 * 有排序条件 saleCount 销量、hotScope 热度评分、skuPrice 价格
 * 过滤条件：hasStock 库存、skuPrice价格区间、brandId品牌、catalog3Id 3级分类Id、attrs 属性
 * 聚合：attrs
 *
 * @Author xgz
 * @Date 2021-04-27 18:26
 */

@Data
public class SearchParamVo {

    /**
     * 全文匹配关键字
     **/
    private String keyword;
    /**
     * 三级分类Id
     **/
    private Long catalog3Id;
    /**
     * 排序条件
     * sort=saleCount_asc/desc
     * sort=skuPrice_asc/desc
     * sort=hotScope_asc/desc
     **/
    private String sort;
    /**
     * 过滤条件：是否有货
     * hasStock=0_1
     **/
    private Integer hasStock;
    /**
     * 过滤条件：价格区间
     * skuPrice=1_500;_500;500_
     **/
    private String skuPrice;
    /**
     * 过滤条件：品牌Id 【支持多选】
     * branId=1
     **/
    private List<Long> brandId;
    /**
     * 过滤条件：属性 【支持多选，同一属性多个值用冒号分割】
     * attrs=2_5寸:6寸
     **/
    private List<String> attrs;
    /**
     * 翻页信息
     * 当前页
     **/
    private Integer pageNum = 1;
    /**
     * 原生的查询条件
     **/
    private String _queryString;
}
